package com.fdb.efp.nls.service.impl;

import com.fdb.basic.framework.core.util.DateUtility;
import com.fdb.efp.nls.service.facade.NlsProcessRuleCleanService;
import com.fdb.efp.nls.service.facade.queue.NlsProcessRuleHService;
import com.fdb.efp.nls.service.facade.queue.NlsProcessRuleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

/**
 * 网贷规则过程清理服务
 * 
 * @author huangwb
 * @since 2019年1月3日 上午9:44:57
 * @version 1.0
 */
@Service("nlsProcessRuleCleanService")
public class NlsProcessRuleCleanServiceImpl implements NlsProcessRuleCleanService {
	private static Logger logger = LoggerFactory.getLogger(NlsProcessRuleCleanServiceImpl.class);

	@Autowired
	@Qualifier("nlsProcessRuleService")
	private NlsProcessRuleService nlsProcessRuleService;

	@Autowired
	@Qualifier("nlsProcessRuleHService")
	private NlsProcessRuleHService nlsProcessRuleHService;

	/**
	 * 清理T-1日数据到历史表中
	 * 
	 * @throws Exception
	 * @author huangwb
	 * @since 2019年1月3日 上午9:50:33
	 * @version 1.0
	 */
	@Override
	public void cleanTMinus1DDataToH() throws Exception {
		logger.info("网贷业务过程数据清理服务处理开始");
		String currAppDate = DateUtility.getCurrAppDateStr();
		logger.info("网贷业务过程数据清理服务处理日期为：" + currAppDate);
		int insertBizHNum = 0;
		int deleteBizNum = 0;
		// 将T-1的数据插入到历史表中
		logger.info("网贷业务过程数据清理服务处理【将T-1的数据插入到历史表中】逻辑开始");
		insertBizHNum = nlsProcessRuleHService.insertTMinus1DDataToH(currAppDate);
		logger.info("网贷业务过程数据清理服务处理【将T-1的数据插入到历史表中】逻辑结束，是否成功：" + insertBizHNum);
		// 将T-1的数据删除
		logger.info("网贷业务过程数据清理服务处理【将T-1的数据删除】逻辑开始");
		if (insertBizHNum > 0) {
			deleteBizNum = nlsProcessRuleService.deleteTMinus1DData(currAppDate);
		}
		if (deleteBizNum > 0) {
			logger.info("网贷业务过程数据清理服务处理【将T-1的数据插入到历史表中】逻辑结束，成功：" + deleteBizNum);
		}
		logger.info("网贷业务过程数据清理服务处理结束");
	}

}
